Split virtual keyboard on a mobile computing device

ABSTRACT

Described herein is a split virtual keyboard that is displayed on a tablet (slate) computing device. The split virtual keyboard includes a first portion and a second portion, the first portion being separated from the second portion. The first portion includes a plurality of character keys that are representative at least one respective character. The tablet computing device is configured to support text generation by way of a continuous sequence of strokes over the plurality of character keys in the first portion of the split virtual keyboard.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/920,034, filed on Jun. 17, 2013, and entitled “SPLIT VIRTUAL KEYBOARDON A MOBILE COMPUTING DEVICE”, which in turn claims the benefit of U.S.Provisional Patent Application No. 61/712,155, filed on Oct. 10, 2012,and entitled “ARCED OR SLANTED SOFT INPUT PANELS”, and is also acontinuation-in-part of U.S. patent application Ser. No. 13/787,832,filed on Mar. 7, 2013, and entitled “PROVISION OF HAPTIC FEEDBACK FORLOCALIZATION AND DATA INPUT,” which in turn is a continuation-in-part ofU.S. patent application Ser. No. 13/745,860, filed on Jan. 20, 2013, andentitled “TEXT ENTRY USING SHAPEWRITING ON A TOUCH-SENSITIVE INPUTPANEL.” The entireties of these applications are incorporated herein byreference.

BACKGROUND

Mobile computing devices have been configured to display soft keyboards,where a user can enter text by selecting buttons on a soft keyboard.Typically, each key on a soft keyboard represents a single character.Accordingly, for a user to input text, the user can select (e.g.,through tapping) discrete keys that are representative of respectivecharacters that are desirably included in such text. As many mobilecomputing devices have relatively small screens, such computing deviceshave been configured with software that performs spelling correctionsand/or corrects for “fat finger syndrome,” where a user mistakenly tapsa key that is adjacent to a desirably tapped key.

Conventionally, it is very difficult for a user to accurately enter textutilizing a soft keyboard when the user is not able to continuously lookat the screen of the mobile computing device that displays the softkeyboard. This can be at least partially attributed to the relativelysmall size of the screen, and therefore, the relatively small size ofkeys included in the soft keyboard displayed on the screen. Forinstance, on an exemplary soft keyboard displayed on a mobile telephone,ten separate keys may exist in a single row of keys. Accordingly, it maybe difficult for the user to remember which keys are in which rows, andfurther may be difficult for the user to tap a particular key in thekeyboard without looking at the keyboard.

SUMMARY

The following is a brief summary of subject matter that is described ingreater detail herein. This summary is not intended to be limiting as tothe scope of the claims.

Described herein are various technologies pertaining to a split virtualkeyboard that can be employed in connection with a touch-sensitivedisplay screen, such as a display screen on a tablet (slate) computingdevice or other suitable device with a diagonal screen length of betweenabout four inches and about fifteen inches. The split virtual keyboardcomprises a first portion and a second portion, wherein the firstportion is split from the second portion. The first portion of the splitvirtual keyboard can be positioned on the touch-sensitive display screento facilitate receipt of input from a thumb of a first hand of a usergripping the tablet computing device, while the second portion of thesplit virtual keyboard can be positioned on the touch-sensitive displayscreen to facilitate receipt of input from a thumb of a second hand ofthe user gripping the tablet computing device.

In an exemplary embodiment, the split virtual keyboard can be used inconnection with decoding a continuous sequence of strokes set forth by auser, wherein user-selection of characters (represented by keys of thesplit virtual keyboard) can be accomplished via the continuous sequenceof strokes. A stroke is a transition from a first key in a portion ofthe split virtual keyboard to a second key in the portion of the splitvirtual keyboard, and wherein both the first key and the second key arerepresentative of a respective plurality of characters. With morespecificity, the aforementioned first portion of the split virtualkeyboard can include a plurality of character keys, wherein eachcharacter key is representative of a respective plurality of characters.Rather than discretely tapping keys, a user can employ a thumb of herfirst hand that is gripping the tablet computing device to set forth asequence of strokes over a subset of the character keys in the firstportion. Thus, in an example, if the user desires to input the word“hat” using the first portion of the split virtual keyboard, the usercan cause the thumb of her first hand to transition from a firstcharacter key that represents the letter “h” to a second character keythat represents the letter “a,” and from the second character key to athird character key that represents the “t,” while the thumb of thefirst hand of the user maintains contact with the touch-sensitivedisplay.

Further, the first portion of the split virtual keyboard can bepositioned on the touch-sensitive display screen to facilitate receiptof input from a dominant hand of the user. Accordingly, if the user isright-handed, the first portion of the split virtual keyboard can bepositioned on a right-hand side of the touch-sensitive display screen ofthe tablet computing device. If, however, the user is left-handed, thefirst portion of the split virtual keyboard can be positioned on theleft-hand side of the touch-sensitive display screen of the tabletcomputing device. Accordingly, the user can employ her dominant hand togenerate text by way of a continuous trace over character keys of thefirst portion of the split virtual keyboard.

The second portion of the split virtual keyboard can include at leastone key that can be used in connection with setting forth input to anapplication. For example, at least one key in the second portion of thevirtual keyboard can cause, when selected, character keys in the firstportion of the split virtual keyboard to change from lowercase touppercase or uppercase to lowercase. In another example, at least onekey in the second portion of the split virtual keyboard can represent an“Enter” key, a “Backspace” key, etc. In still yet another example, oneor more keys in the second portion of the split virtual keyboard canrepresent at least one punctuation mark. Thus, the user may employ thethumb of her dominant hand to set forth words by way of a continuoustrace while using the thumb of her non-dominant hand to cause a word tobe output to an application, to add punctuation in correspondence with aword, etc. In other embodiments, however, both the first portion and thesecond portion of the split virtual keyboard can include keys that arerepresentative of respective characters, and text can be generated viacontinuous traces performed by a thumb of both the first hand of theuser and the second hand of the user, respectively (analogously as tohow one types using both a left-hand and a right-hand).

The above summary presents a simplified summary in order to provide abasic understanding of some aspects of the systems and/or methodsdiscussed herein. This summary is not an extensive overview of thesystems and/or methods discussed herein. It is not intended to identifykey/critical elements or to delineate the scope of such systems and/ormethods. Its sole purpose is to present some concepts in a simplifiedform as a prelude to the more detailed description that is presentedlater.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram of an exemplary system thatfacilitates generation of text by way of a split virtual keyboarddisplayed on a touch-sensitive display of a tablet computing device.

FIG. 2 is a functional block diagram of an exemplary system thatfacilitates generation of text by way of a continuous trace.

FIG. 3 illustrates an exemplary tablet computing device with a splitvirtual keyboard displayed thereon.

FIGS. 4-8 illustrate exemplary split virtual keyboards.

FIG. 9 illustrates an exemplary keyboard for utilization on a mobilecomputing device.

FIGS. 10-11 illustrate exemplary graphical user interfaces (GUIs)pertaining to generating text by way of continuous sequences of strokesset forth over character keys in a soft input panel (SIP).

FIGS. 12-13 illustrate exemplary SIPs.

FIG. 14 is a flow diagram that illustrates an exemplary methodology forgenerating text based upon a sequence of strokes over keys in a firstportion of a split virtual keyboard.

FIG. 15 is a flow diagram that illustrates an exemplary methodology forutilizing a split virtual keyboard on a tablet computing device togenerate text.

FIG. 16 is an exemplary computing system.

DETAILED DESCRIPTION

Various technologies pertaining to generation of text by way of acontinuous trace over at least one portion of a split virtual keyboardare now described with reference to the drawings, wherein like referencenumerals are used to refer to like elements throughout. In the followingdescription, for purposes of explanation, numerous specific details areset forth in order to provide a thorough understanding of one or moreaspects. It may be evident, however, that such aspect(s) may bepracticed without these specific details. In other instances, well-knownstructures and devices are shown in block diagram form in order tofacilitate describing one or more aspects. Further, it is to beunderstood that functionality that is described as being carried out bycertain system components may be performed by multiple components.Similarly, for instance, a component may be configured to performfunctionality that is described as being carried out by multiplecomponents.

Moreover, the term “or” is intended to mean an inclusive “or” ratherthan an exclusive “or.” That is, unless specified otherwise, or clearfrom the context, the phrase “X employs A or B” is intended to mean anyof the natural inclusive permutations. That is, the phrase “X employs Aor B” is satisfied by any of the following instances: X employs A; Xemploys B; or X employs both A and B. In addition, the articles “a” and“an” as used in this application and the appended claims shouldgenerally be construed to mean “one or more” unless specified otherwiseor clear from the context to be directed to a singular form.

Further, as used herein, the terms “component” and “system” are intendedto encompass computer-readable data storage that is configured withcomputer-executable instructions that cause certain functionality to beperformed when executed by a processor. The computer-executableinstructions may include a routine, a function, or the like. It is alsoto be understood that a component or system may be localized on a singledevice or distributed across several devices. Further, as used herein,the term “exemplary” is intended to mean serving as an illustration orexample of something, and is not intended to indicate a preference.

Described herein are various aspects pertaining to generation of text byway of a continuous trace (e.g., a continuous sequence of strokes) overa split virtual keyboard. A stroke, as the term is used herein, is thetransition of a digit (e.g., a thumb) from a first key to a second keyof a portion of a virtual keyboard while the digit maintains contactwith the touch-sensitive display. A continuous sequence of strokes,then, is a sequence of strokes, where the digit maintains contact withthe touch-sensitive display throughout the sequence of strokes. In otherwords, rather than individually tapping, a user can employ her digit toconnect keys that are representative of respective letters in a desiredword.

With reference now to FIG. 1, a functional block diagram of an exemplarysystem 100 that facilitates generation of text through utilization of asplit virtual keyboard is illustrated. The system 100 may be comprisedby a mobile computing device, such as a tablet (slate) computing device.In another exemplary embodiment, the system 100 may be comprised by amobile telephone with a relatively large display screen (sometimesreferred to as a phablet). It is thus to be understood that the system100 may be comprised by any suitable computing device with a screendiagonal of length between approximately four inches and approximatelyfifteen inches (such that a user can grip the computing device with twohands and interact with a first portion and a second portion of a splitvirtual keyboard, one with each hand).

The system 100 comprises a touch-sensitive display 102. A displaycomponent 103 causes a split virtual keyboard 104 to be displayed on thetouch-sensitive display 102, wherein the split virtual keyboard 104includes a first portion 106 and a second portion 108, which are splitfrom one another. In an example, the first portion 106 may be separatedfrom the second portion 108 by at least one inch on the touch-sensitivedisplay 102. As will be shown in greater detail herein, the firstportion 106 can be positioned on the touch-sensitive display 102 tofacilitate receipt of input from a thumb of a first-hand of a user whenthe user is gripping/holding a mobile computing device that comprisesthe touch-sensitive display 102. Similarly, the second portion 108 ofthe split virtual keyboard 104 can be positioned on the touch-sensitivedisplay 102 to facilitate receipt of input from a thumb of a second handof the user when the user is gripping/holding the mobile computingdevice. While the first portion 106 of the split virtual keyboard 104 isshown as being positioned on a right-hand side of the touch-sensitivedisplay 102 and the second portion 108 of the split virtual keyboard 104is shown as being positioned on a left-hand side of the touch-sensitivedisplay 102, it is to be understood that the positions of the firstportion 106 and the second portion 108 can be reversed. For example, thefirst portion 106 of the split virtual keyboard 104 can be positioned onthe touch-sensitive display 102 to facilitate receipt of input from adominant hand of the user (whichever hand that is), while the secondportion 108 of the split virtual keyboard 104 can be positioned on thetouch-sensitive display 102 to facilitate receipt of input from a thumbof a non-dominant hand of the user.

As indicated above, the virtual keyboard 104 is “split” in that the twoportions 106 and 108 are visually distinct from one another, in that thefirst portion 106 is recognizable by the user as being configured toreceive input from the first hand of the user and the second portion 108is recognizable by the user as being configured to receive input fromthe second hand of the user. Accordingly, the first portion 106 and thesecond portion 108 can be separate by a visual boundary or space thatgraphically distinguishes the first portion 106 from the second portion108. Further, it is to be understood that the first portion 106 and thesecond portion 108 can be displayed on separate portions of a display;for example, the touch-sensitive display 102 may comprise two displays:a first display and a second “pullable” display that effectively extendsthe display. In such an example, the first portion 106 can be displayedon the first display and the second portion can be displayed on thesecond “pullable” display. Similarly, the display 102 can comprise twodisplays that can be folded, similar to a book. The first portion 106can be displayed on a first display, and the second portion 108 can bedisplayed on a second display.

The first portion 106 of the split virtual keyboard 104 comprises afirst plurality of keys 110. In an example, the first plurality of keys110 may comprise character keys, wherein each character key isrepresentative of at least one respective character (e.g., letter). Inanother embodiment, at least one character key in the character keys canbe representative of multiple letters. In still yet another exemplaryembodiment, each character key in the character keys can berepresentative of a respective plurality of characters. For instance,the first plurality of keys 110 can comprise eight or nine characterkeys, wherein each character key is representative of a respectiveplurality of characters, and wherein the character keys arerepresentative of an entirety of an alphabet (e.g., the Englishalphabet). The first plurality of keys 110 may also comprise numericalkeys, a key representative of an “Enter” key, a key representative of a“Spacebar” key, a “mode” key that causes a mode of at least the firstportion 106 of the split virtual keyboard to alter when selected (e.g.,characters can change from lowercase to uppercase and vice versa), andthe like.

The second portion 108 of the split virtual keyboard 104 can comprise asecond plurality of keys 112. The second plurality of keys 112 mayinclude keys that are particularly well-suited in connection withdecoding words set forth by the user through employment of the firstplurality of keys 110. For example, the second plurality of keys 112 mayinclude an “Enter” key, a “Spacebar” key, etc., wherein such keys can beused to identify initiation and/or completion of a continuous sequenceof strokes set forth by the user over the first portion 106 of the splitvirtual keyboard 104. Thus, for example, the user may desire to generatethe word “hello” by way of a continuous sequence of strokes. The usercan use the thumb of her first hand to set forth a sequence of strokesover keys in the first plurality of keys 110 (e.g., transitioning suchthumb from a key that represents the character “h” to a key thatrepresents the character “e” to a key that represents the character “l”to a key that represents the character “o”). The user can subsequentlyuse the thumb of her second hand to select an “Enter” key from thesecond plurality of keys 112, thus indicating the completion of inputfor the word. In another example, at least one key in the secondplurality of keys 112 can be a punctuation key, such that the keyrepresents a period, comma, colon, semi-colon, question mark,exclamation point, etc. In still yet another example, keys in the secondplurality of keys 112 may be numerical keys, emoticons, etc.

Moreover, at least one key in the second plurality of keys 112, whenselected by the user, can cause a content of keys in the first pluralityof keys 110 to alter. For example, the first plurality of keys 110 mayinitially include a plurality of character keys; when a key in thesecond plurality of keys 112 is selected by the user, a differentkeyboard can be displayed in the first portion 106 of the split virtualkeyboard 104 (e.g., the character keys can be replaced with numericalkeys). In still yet another example, the second plurality of keys 112can include character keys, and input can be provided via performing asequence of strokes over such character keys. For instance, the firstplurality of keys 110 may include first character keys that arerespectively representative of a first plurality of characters and thesecond plurality of keys 112 may include second character keys that arerespectively representative of a second plurality of characters. Theuser can employ a first thumb to set forth a first continuous sequenceof strokes over keys in the first plurality of keys 110 and a secondthumb to set forth a second continuous sequence of strokes over keys inthe second plurality of keys 112, analogously to a user typing with aleft and right hand.

In another example, selection of at least one key in the secondplurality of keys 112 can cause a format of a word generated by settingforth strokes over keys in the first plurality of keys 110 to alter. Inan example, selection of the at least one key in the second plurality ofkeys 112 can cause the word to be italicized, displayed in bold,underlined, etc. Further, selection of the at least one key in thesecond plurality of keys can cause quotation marks to be placed aroundthe word, can cause a first letter of the word to be capitalized, cancause all letters of the word to be capitalized, can cause font of theword to be altered, etc.

The system 100 comprises a detector component 114 that detects strokesset forth by the user over (at least) keys in the first portion 106 inthe split virtual keyboard 104. Therefore, for example, the detectorcomponent 114 can detect a sequence of strokes set forth over characterkeys in the first plurality of keys 110 of the first portion 106 of thesplit virtual keyboard 104, wherein the user transitions the thumb ofher first hand between keys in the first plurality of keys 110 thatrepresent characters (or multiple characters).

A decoder component 116 is in communication with the detector component114, and decodes a sequence of strokes over character keys in the firstplurality of keys 110 set forth by the user of the mobile computingdevice, such that the decoder component 116 determines a sequence ofcharacters (e.g., a word) desirably set forth by such user. Pursuant toan example, the decoder component 116 can receive a signal from thedetector component 114 that is indicative of a sequence of strokes(e.g., a trace) set forth by the user over character keys in the firstplurality of keys 110, wherein the user desirably sets forth the word“hello.” The decoder component 116 can decode such sequence of strokesand output the word “hello.” In an example, character keys in the firstplurality of keys 110 can each represent a respective plurality ofcharacters, such that the decoder component 116 can disambiguate betweenpotential words that can be constructed based upon strokes set forth bythe user (e.g., based upon characters in respective keys over which atrace of the digit has passed or to which the trace of the digit isproximate). Still further, the decoder component 116 can be configuredto correct for possible spelling errors entered by the user, as well aserrors in position of the thumb of the first hand of the user overcharacter keys in the first plurality of keys 110 of the split virtualkeyboard 104. As noted above, the split virtual keyboard 104 may beparticularly well-suited for eyes-free entry of text by the user of themobile computing device. Therefore, when the user is interacting withthe split virtual keyboard 104, digits of the user may not be positionedprecisely over respective keys that are desirably selected by the user.

In connection with performing such decoding, the decoder component 116can comprise a stroke model 118 that is trained using labeled words andcorresponding traces set forth over touch-sensitive input panels byusers. With more particularity, during a data collection/model trainingphase, a user can be instructed to set forth a trace (e.g., continuoussequence of strokes) over a virtual keyboard arranged as the firstportion 106 of the split virtual keyboard 104 for a prescribed word.Position of such trace can be assigned to the word, and such operationcan be repeated for multiple different users and multiple differentwords. As can be recognized, variances can be learned and/or applied totraces for certain words, such that the resultant stroke model 118 canrelatively accurately model sequences of strokes for a variety ofdifferent words in a predefined dictionary.

Furthermore, the decoder component 116 can include a language model 120for a particular language, such as, English, Japanese, German, or thelike. The language model 120 can be employed in connection withprobabilistically disambiguating between potential words based uponprevious words set forth by the user. It can, therefore, be ascertainedthat the decoder component 116 can be a statistical decoder, where asequence of strokes set forth by a user can be converted to her intendedword or sequence of words, wherein the statistical decoder takes intoaccount both how likely it is that those strokes were produced by a userintending such words (e.g., how well the strokes match the intendedword), and how likely those words are, in fact, the words intended bythe user (e.g., “chewing gum” is more likely than “chewing gun”).Accordingly, the stroke model 118 may be a hidden Markov model (HMM),and the language model 120 may be an N-gram language model.

The system 100 may further optionally include a speaker 122 that canaudibly output a word or sequence of words identified by the decodercomponent 116 based upon sequences of strokes detected by the detectorcomponent 114. In an exemplary embodiment, the speaker 122 can audiblyoutput the word “hello” in response to the user performing a sequence ofstrokes over character keys in the first plurality of keys 110 that arerepresentative of the characters “h,” “e,” “l,” and “o.” Therefore, theuser need not look at the touch-sensitive display 102 to receiveconfirmation that the word desirably entered by the user has beenaccurately identified by the decoder component 116. Further, if thedecoder component 116 incorrectly identifies a word based upon asequence of strokes detected by the detector component 114, the user canreceive audible feedback that informs the user of the incorrect decodingof sequence of strokes. For instance, if the decoder component 116determines (incorrectly) that the word desirably set forth by the useris “orange” rather than “hello,” then the user can quickly ascertainthat the decoder component 116 has incorrectly decoded the sequence ofstrokes set forth by the user. The user may then press some button(e.g., in the second plurality of keys 112) that can cause the decodercomponent 116 to output a next most probable word, which can then beaudibly output by the speaker 122. This process can continue until theuser hears the word desirably generated by such user. In anotherexemplary embodiment, the user, by way of a gesture, voice command,interaction over keys in the second plurality of keys 112, etc., canindicate a desire to re-perform a sequence of strokes, such that thepreviously output word is deleted. In still another example, the decodercomponent 116 can identify a word prior to the sequence of strokes beingcompleted, and can cause such word to be displayed prior to the sequenceof strokes been completed. For instance, as the user sets forth asequence of strokes, a plurality of potential words can be displayed tothe user on the touch-sensitive display 102. The user, for instance, mayemploy at least one key in the second plurality of keys 112 of the splitvirtual keyboard 104 to select a word from the plurality of wordsdisplayed on the touch-sensitive display 102.

Furthermore, it can be recognized that the decoder component 116 canemploy active learning to update the stroke model 118 and/or thelanguage model 120 based upon feedback set forth by the user of themobile computing device that comprises the system 100. Thus, the strokemodel 118 can be refined based upon size of the thumb of the user usedto set forth traces over the first portion 106 of the split virtualkeyboard 104. In another example, the stroke model 118 can be refinedbased upon shapes of traces set forth by the user over keys in the firstportion 106 of the split virtual keyboard 104. Similarly, a dictionaryutilized by the stroke model 118 and/or the language model 120 can beupdated based upon words frequently employed by the user of thecomputing device that comprises the system 100 and/or an applicationbeing executed.

For instance, if the user desires to set forth a name of a person thatis not included in a dictionary of the stroke model 118, the user caninform the decoder component 116 of the name, such that sequences ofstrokes corresponding to such name can be recognized and decoded by thedecoder component 116. In another example, a dictionary can becustomized based upon an application being executed. For instance,words/sequences of characters set forth by the user when employing atext messaging application may be different from words/sequences ofcharacters set forth by the user when employing an e-mail or wordprocessing application. Similarly, keys and/or arrangement of keys inthe first portion 106 and the second portion 108 of the split virtualkeyboard 104 may be dependent upon an application being executed by thecomputing device that comprises the system 100. For example, if thecomputing device is executing a browser, and the split virtual keyboard104 is being employed in connection with generating a URL for provisionto the browser, the first plurality of keys 110 may include characterkeys, while the second plurality of keys 112 may include a “.com” key.In another example, if the computing device is executing a textmessaging application, keys in the first plurality of keys 110 may becharacter keys, while keys in the second plurality of keys 112 mayrepresent emoticons.

In certain situations, the user of the computing device (the splitvirtual keyboard 104) may desire to generate text that is not includedin a dictionary employed by the stroke model 118 and/or the languagemodel 120. Such text may include a name, a slang term, etc. In anexemplary embodiment, the user can cause a full keyboard to be displayedon the touch-sensitive display 102, such that conventional techniquesmay be employed to press discrete keys to enter the desired text. Inanother example, the decoder component 116 may include a handwritingrecognizer component 124 that can recognize handwritten letters setforth by the user over a portion of the touch-sensitive display 102. Inan example, the user may desire to set forth the sequence of characters“whooooaah.” Such sequence of characters may not be included in adictionary used to decode traces by the stroke model 118 and/or thelanguage model 120. To allow the user to set forth such sequence ofcharacters without having to use a full keyboard or to look directly atthe split virtual keyboard 104, the system 100 can support handwritingrecognition, wherein the user can cause at least a portion of the splitvirtual keyboard 104 to act as a canvas for setting forth handwrittenscripts (e.g., words, punctuations, symbols, characters, etc.). Forinstance, through selection of a key in the second plurality of keys112, a particular gesture, a voice command, or the like, the firstplurality of keys 110 can be replaced with a canvas upon which the usercan set forth handwritten characters with the thumb of her first hand.The user may then trace characters over the first portion 106 of thesplit virtual keyboard 104, and the handwriting recognizer component 124can recognize characters being handwritten by the user. Therefore, theuser can first can write the letter “w” over the first portion 106 ofthe split virtual keyboard 104, and then may set forth a gestureindicating that the character has been completed. The user maythereafter handwrite the letter “h,” which again can be recognized bythe handwriting recognizer component 124. This process can continueuntil the user has set forth the desired sequence of characters.Thereafter, the user, through a voice command, gesture, depression of abutton in the second portion 108 of the split virtual keyboard 104, orthe like, can cause the split virtual keyboard 104 to return to adefault state, where text entry via strokes is supported. Other modesare also contemplated, such as a mode that supports discrete tapping ofkeys, if such modes are desired by the user.

The system 100 may optionally include a microphone 126 that can receivevoice input from the user. The user, as noted above, can set forth avoice indication that the decoder component 116 has improperly decoded asequence of strokes, and the microphone can receive such voiceindication. In another exemplary embodiment, the decoder component 116can optionally include a speech recognizer component 128 that isconfigured to receive spoken utterances of the user (captured by themicrophone 126) and recognize words therein. In an exemplary embodiment,the user can verbally input words that are also entered by way of atrace over character keys in the first portion 106 of the split virtualkeyboard 104, such that the spoken word supplements the sequence ofstrokes and vice versa. Thus, for example, the stroke model 118 canreceive an indication of a most probable word output by the speechrecognizer component 128 and can utilize such output to further assistin decoding a sequence of strokes set forth over keys in the firstportion 106 of the split virtual keyboard 104. In another embodiment,the speech recognizer component 128 can receive a most probable wordoutput by the stroke model 118 based upon a trace detected by thedetector component 114, and can utilize such output as a feature fordecoding the spoken utterance received from the microphone 126. Theutilization of the speech recognizer component 128, the stroke model118, and the language model 120 can thus operate together to improveaccuracy of decoding.

While not shown, the system 100 may optionally comprise hardware and/orsoftware that facilitates tracking gaze of the user, which can be usedto supplement decoding of the sequence of strokes set forth by the user.For instance, a camera and associated software can be configured toestimate the location of the gaze of the user, which can be provided asinput to the decoder component 116. In yet another exemplary embodiment,the system 100 may comprise hardware and/or software that facilitatesreceipt of neural data, such as electrostatic signals emitted from abody of the user. Again, such information can be employed as input tothe decoder component 116 and can be used in connection with decodingthe sequence of strokes set forth by the user.

Other exemplary features pertaining to the split virtual keyboard 104will now be described. For example, the first portion 106 and the secondportion 108 of the split virtual keyboard 104 can be ergonomicallyarranged to facilitate receipt of strokes from the thumbs of the userwhile the user is gripping a mobile computing device comprising thesystem 100. Thus, the first plurality of keys 110 can be angularlyoffset from a bottom edge, top edge, and side edge of thetouch-sensitive display 102, such that the lines defining boundaries ofkeys in the first plurality of keys 110 are not parallel with edges ofthe touch-sensitive display 102. Moreover, as will be shown below, thekeys can be curved, arced or slanted, relative to edges of thetouch-sensitive display 102.

Additionally, to facilitate development of muscle memory with respect toparticular sequences of strokes that are repeated by the user, differentportions of the first portion 106 and/or the second portion 108 of thesplit virtual keyboard 104 may be provided with different texturesrelative to other portions of the split virtual keyboard 104. Forinstance, as shown, keys in the first plurality of keys 110 and keys inthe second plurality of keys 112 may be separated by respectiveboundaries. The touch-sensitive display 102 can be configured to outputhaptic feedback as a digit of the user transitions over boundariesbetween keys in the first portion 106 and/or the second portion 108.Specifically, for instance, as a digit of the user crosses a boundarybetween keys in the first plurality of keys 110 when setting forth asequence of strokes, an electrostatic signal can be output by thetouch-sensitive display 102, such that the user perceives increasedfriction as the thumb crosses such boundary (e.g., the feedback islocalized). In other examples, keys in the first plurality of keys 110may be associated with haptic feedback, such that from the perception ofthe user, it feels as if different keys have different textures. Thus,by feel, the user can differentiate between keys in the first pluralityof keys 110 and keys in the second plurality of keys 112. That is, afirst key may feel to the user as being smoother than a second key.

It is also to be understood that text generation via a sequence ofstrokes over keys in the first portion 106 of the split virtual keyboard104 can be used in connection with performing a global search over adata store or collection of data stores associated with a computingdevice that comprises the system 100. For instance, a user may indicatea desire to search over contents of a particular application or datarepository. Thereafter, the user can employ a continuous sequence ofstrokes, as described above, to generate text that is desirably used asa query. For instance, the user may desire to search for a contact in alist of contacts. The user can employ a continuous sequence of strokesto search for the name of the contact. For instance, after selecting aplurality of keys through a sequence of strokes over the first portion106 of the split virtual keyboard 104, the computing device can audiblyoutput a name that is being searched for that corresponds to theplurality of strokes. Thereafter, the user can cause an action to beundertaken with respect to the selected contact. For instance, the usercan indicate a desire to e-mail the contact, place a call to thecontact, etc. It is to be understood that the above is an example of aquery that can be performed through utilization of text generation via acontinuous sequence of strokes, and the type of global search that canbe performed using aspects associated with FIG. 1 is not limited by suchexample.

In still yet another example, at least one of the first portion 106 orthe second portion 108 of the split virtual keyboard 104 can be employedin connection with launching applications, presenting menus, and/orselecting files. For example, the detector component 114 can detect aninput gesture on the touch-sensitive display 102 that is associated withlaunching applications, presenting menus, and/or selecting files. Suchinput gesture can be performed over the first portion 106 or the secondportion 108 of the split virtual keyboard 104. In another example, thegesture can be performed on the touch-sensitive display 102 when thesplit virtual keyboard 104 is not displayed thereon. Responsive to thedetector component 114 detecting the gesture, the display component 103can cause a list of applications, selectable menu options, and/or filesto be displayed on the touch-sensitive display 102. Additionally, thedisplay component 103 can cause at least the first portion 106 of thesplit virtual keyboard 104 to be displayed (if not already displayed) onthe touch-sensitive display 102. The first portion 106 of the splitvirtual keyboard 104 can be employed, for instance, to set forth textthat can be employed in connection with searching for and/or selectingan application, menu option, and/or file.

With reference now to FIG. 2, an exemplary system 200 that facilitatesgeneration of text by way of a continuous sequence of strokes isillustrated. The system 200 includes the first portion 106 of the splitvirtual keyboard 104, wherein the first plurality of keys 110 include aplurality of character keys 202-218. As shown, each key the plurality ofcharacter keys 202-218 can represent a respective plurality ofcharacters. As will be illustrated below, the first portion 106 of thesplit virtual keyboard 104 may also include additional keys, such as an“Enter” key, a “Spacebar” key, numerical keys, and other keys found onconventional keyboards.

Each of the keys 202-218 shown as being included in the first portion106 of the split virtual keyboard 104 is representative of a respectiveplurality of characters. For instance, the key 202 is representative ofthe characters “Q,” “W,” and “E,” the key 204 is representative of thecharacters “R,” “T,” and “Y,” etc. It is to be understood that thecharacters in the first portion 106 of the split virtual keyboard 104can be arranged in accordance with a QWERTY keyboard, alphabetically, orsome other suitable arrangement.

In an example, a user may wish to employ a thumb of her first hand toset forth the word “hello” by way of a continuous sequence of strokes.To do so, the user may place the thumb of her first hand on the key 212,which represents the characters “H,” “J,” and “K.” The user may thentransition the thumb of her first hand from the key 212 to the key 202,which represents the characters “Q.” “W,” and “E.” The transition fromthe key 212 to the key 202 is shown as being a first stroke 220. Whilethe digit maintains contact with the touch-sensitive display 102, theuser can transition the thumb of her first hand from the key 202 to thekey 214, which represents the characters “L,” “X,” and “Z.” Therefore,by transitioning from the key 202 to the key 214, the user has set fortha second stroke 222, which can indicate that the user has selected keysrepresentative of the first three letters of the word “hello.”

At this point, the user may desire to indicate a subsequent selection ofthe letter “L” in the word “hello.” This can be undertaken in a varietyof manners. In an example, the user can set forth a third stroke 224,which may be a circular stroke undertaken over the key 214. Accordingly,through a relatively small stroke, the user can indicate that shedesires to select another character represented by the key 214. Inanother exemplary embodiment, the user can pause over the key 214without setting forth another stroke. Again, such pause can beindicative of a desire to consecutively select the key 214. In anotherembodiment, the user can cause her thumb to immediately transition toanother key. Thus, the user may then set forth a third stroke 224 bytransitioning her thumb from the key 214 to the key 206, and thereaftermay lift her thumb from the touch-sensitive display 102. Alternatively,the user may set forth a command using a thumb of her second hand (e.g.,by selecting a key in the second portion 108 of the split virtualkeyboard 104). While the sequence of strokes 220-224 is shown as beingdiscrete strokes, it is to be understood that, in practice, a trace ofthe thumb of the user over the touch-sensitive-display 102 may appear asa continuous curved shape with no readily ascertainable differentiationbetween strokes.

Now referring to FIG. 3, an exemplary tablet computing device 300 isshown. The tablet computing device 300 includes the touch-sensitivedisplay 102, which displays the split virtual keyboard 104 (e.g.,including the first portion 106 that is split from the second portion108). As tablet computing devices can be difficult to hold with onehand, the tablet computing device 300 is shown as being held by a userwith a first hand 302 and a second hand 304. The first portion 106 ofthe split virtual keyboard 104 is shown as being positioned on thetouch-sensitive display 102 to facilitate receipt of input from a thumb306 of the first hand 302 of the user when the user is gripping thetablet computing device 300. Likewise, the second portion 108 of thesplit virtual keyboard 104 is positioned to facilitate receipt of inputfrom a thumb 308 of the second hand 304 of the user when the user isgripping the tablet computing device 300.

Pursuant to an example, the split virtual keyboard 104 can be invoked bya gesture set forth by the user. For instance, such gesture may includea radial swiping of the thumb 306 of the first hand 302 of the user froma bottom edge 310 of the touch-sensitive display 102 to a right edge 312of the touch-sensitive display 102 (from a perspective of the user).This may cause the split virtual keyboard 104 to be presented on thetouch-sensitive display 102 with a size that corresponds to an extent ofthe thumb 306 of the first hand 302 of the user when invoking the splitvirtual keyboard 104. The second portion 108 can have a size that mapsto the determined size of the first portion 106. In an alternativeembodiment, the gesture may be sequential radial swipes of the thumbs306 and 308 of the first hand 302 and the second hand 304, respectively,from the bottom edge 310 of the display to the right edge 312 and a leftedge 314 of the touch-sensitive display 102, respectively (e.g., thethumb 306 of the first hand 302 performs a swipe followed by the thumb308 of the second hand 304, or vice versa). In another example, thegesture may be simultaneous swipes of the thumbs 306 and 308. Sizes andpositions of the first portion 106 and the second portion 108 of thesplit virtual keyboard 104, respectively, may be a function of theradial extent of the thumb 306 and the thumb 308 when performing theaforementioned gesture.

In an exemplary embodiment, the first hand 302 may be the dominant handof the user, such that the first portion 106 includes character keys andthe user can set forth a continuous sequence of strokes using the thumb306 of the first hand 302 over such character keys to generate text. Thesecond portion 108 of the split virtual keyboard 104 can include keysthat can support decoding of text and/or refinement of text generatedthrough use of the thumb 306 of the first hand 302. As indicated above,the second portion 108 may include a “mode” key that, when selected bythe thumb 308 of the second hand, can cause the case of charactersrepresented by keys in the first portion 106 to be changed fromlowercase to uppercase or vice versa, can cause language of keys in thefirst portion 106 to change, etc.

While the split virtual keyboard 104 is shown as being presented whenthe tablet computing device 300 is held by the user in a landscapeorientation, it is to be understood that the split virtual keyboard 104can be presented when the tablet computing device 300 is held by theuser in a portrait orientation. Additionally, while the first portion106 and the second portion 108 are shown as being displayed inrespective corners of the touch-sensitive display 102, it is to beunderstood that the first portion 106 and the second portion 108 may belocated in accordance with the detected location of the grip of the userholding the tablet computing device 300. Therefore, if it is detectedthat the user is gripping the tablet computing device 300 near centersof the first edge 312 and second edge 314, the first portion 106 and thesecond portion 108 may be displayed above the aforementioned corners ofthe touch-sensitive display 102.

Now referring to FIG. 4, the tablet computing device 300 is illustrated,wherein the split virtual keyboard 104 is displayed on thetouch-sensitive display 102 and has an exemplary layout. As shown, thefirst portion 106 of the split virtual keyboard 104 can comprise aplurality of character keys 402-416, wherein each key in the characterkeys 402-416 is representative of a respective plurality of characters.

The second portion 108 of the split virtual keyboard 104 includes aplurality of keys 418-426, which can be selected by the thumb 308 of thesecond hand 304 of the user (e.g., via tapping). For instance, the keys418 and 424 can be “mode” keys that cause the layout/values of keys inthe first portion 106 of the split virtual keyboard 104 to alter.Pursuant to an example, if the user selects the key 418, the pluralityof keys 402-416 in the first portion 106 of the split virtual keyboard104 can be replaced with keys representative of the numbers zero throughnine (e.g., a nine key keyboard). In another example, if the userselects the key 424 from the second portion 108 of the split virtualkeyboard 104, the characters represented by the keys 402-416 can changefrom being displayed in lowercase to being displayed in uppercase. Thekey 420 in the second portion 108, when selected by the thumb 308 of thesecond hand 304 of the user, can cause text entered by way of theplurality of keys 402-416 to be finalized/output to an application.Therefore, in an example, after the user has generated the word “hello”using the thumb 306 of her first hand 302, the user may then select thekey 420 with the thumb 308 of her second hand 304, which causes the word“hello” to be output.

The key 422 in the second portion 108 can be a “Backspace” key thatcauses a most recently generated word to be deleted when selected by thethumb 308 of the second hand 304 of the user. For instance, if thedecoder component 116 improperly identified a word based upon a traceset forth by the user, the user can cause such word to be deletedthrough selection of the key 422. Still further, the second portion 108of the split virtual keyboard 104 can include a “Spacebar” key 426,which can indicate completion of a trace set forth by the thumb 306 ofthe first hand 302 of the user over keys in the first portion 106. Thus,continuing with the example above, if the user has set forth a sequenceof strokes corresponding to the word “hello” over keys in the firstportion 106 of the split virtual keyboard 104, the user can select thekey 426 in the second portion 108, which indicates that the sequence ofstrokes has been completed.

Now referring to FIG. 5, the tablet computing device 300 is illustrated,wherein the split virtual keyboard 104 is shown with another exemplarylayout. As shown in FIG. 5, the first portion 106 includes the pluralityof character keys 402-416, wherein each character key is representativeof a respective plurality of characters. In the exemplary layout shownhere, the second portion 108 of the split virtual keyboard 104 includesa plurality of keys 502-512 that are respectively representative of aplurality of punctuation marks. Specifically, the key 502 can representa period, the key 504 can represent a comma, the key 506 can represent aquestion mark, the key 508 can represent an exclamation point, the key510 can represent a colon, and the key 512 can represent a semi-colon.Using the exemplary layout shown in FIG. 5, the user can employ thethumb 306 of her first hand 302 in connection with generating wordsthrough a continuous sequence of strokes, and can employ the thumb 308of her second hand 304 to add punctuation to a word, phrase, orsentence.

With reference now to FIG. 6, the tablet computing device 300 is shownas displaying another exemplary layout of the split virtual keyboard104. In the exemplary layout shown in FIG. 6, the first portion 106includes the keys 402-416, and the second portion 108 of the splitvirtual keyboard 104 includes the keys 418-422. Rather than the firstportion 106 being displayed in the bottom right-hand corner of thetouch-sensitive display 102, and the second portion 108 being displayedin a bottom left-hand portion of the touch-sensitive display 102 (fromthe perspective of the user), the first portion 106 and the secondportion 108 of the split virtual keyboard 104 are shown as beingpositioned more proximate to a middle of the touch-sensitive display102. For example, when initiating the split virtual keyboard 104, thethumbs 306 and 308 of the user can be detected as being more proximateto the center of the touch-sensitive display 102, such that the user isgripping the tablet computing device 300 on its sides, rather than atthe bottom corners. Accordingly, the first portion 106 and the secondportion 108 are positioned to correspond to the location of the hands ofthe user when the user is gripping the tablet computing device 300.Further, it is to be understood that the user can manually move and dockthe first portion 106 and the second portion 108 to facilitate provisionof gestures with the thumbs 306 and 308 of the user over the firstportion 106 and the second portion 108, respectively.

Now referring to FIG. 7, the tablet computing device 300 is shown,wherein the tablet computing device 300 displays yet another exemplarylayout of the split virtual keyboard 104. In the exemplary layout ofFIG. 7, the first portion 106 includes the first plurality of keys402-416. The first portion 106 is also shown as including the keys420-426, which were illustrated as being included in the second portion108 in the exemplary layout shown in FIG. 4. The first portion 106 isalso shown as including a key 702, which can cause charactersrepresented by keys 402-416 to be displayed in another language. Forexample, selection of the key 702 by the thumb 306 of the first hand 302of the user can cause a character shown in the first portion 106 tochange from English to Japanese, from Japanese to Chinese, etc.

The second portion 108 of the split virtual keyboard 104 includes aplurality of key 704-722 that are representative of respective numbers.That is, the second portion 108 includes keys of a numeric keyboard.Thus, the user may employ her thumb 306 of the first hand 302 to setforth words by way of a continuous sequence of strokes, change modes ofthe keys in the first portion 106, etc., and may use the thumb 308 ofher second hand 304 to select appropriate numbers.

With reference now to FIG. 8, the tablet computing device 300 is againillustrated, wherein another exemplary layout of the split virtualkeyboard 104 is displayed on the touch-sensitive display 102. In theexemplary layout shown in FIG. 8, the first portion 106 includes keys asshown in the exemplary layout of FIG. 7. The second portion 108 includesa plurality of keys that are representative of a respective plurality ofemoticons. For instance, such layout may be particularly well-suited fora text messaging application or an e-mail application, where usersfrequently submit emoticons with transferred text. Thus, in an example,a user may set forth a word or phrase by way of a continuous sequence ofstrokes over keys in the split virtual keyboard 104, and may theninclude an emoticon with such words by selecting an appropriate key fromthe keys 802-812 through employment of the thumb 308 of her second hand304.

FIGS. 4-8 have been set forth to provide examples of layouts that may beincluded in a split virtual keyboard that can be presented on a tabletcomputing device. It is to be understood, however, that other layouts orcontemplated. Moreover, as shown, the first portion 106 and the secondportion 108 can be ergonomically arranged to map to the radial extentsof the thumbs 306 and 308 of hands of the user gripping the tabletcomputing device 300. Therefore, the user can set forth text whenholding the tablet computing device 300 in a natural manner. Further,the exemplary layouts have been shown as having respective curved upperboundaries and curved internal boundaries that are concentric with thecurved upper boundaries, while having linear internal boundaries betweenkeys. In other embodiments, each boundary may be linear, and slantedrelative to edges of the touch-sensitive display to facilitate entry ofinput by the thumbs 306 and 308 of the user. In addition, it is to beunderstood that layout of the split virtual keyboard 104 can changedepending upon an application being executed by the tablet computingdevice 300. For instance, a first layout can be used for an e-mailapplication, and a second layout can be used for a word processingapplication.

Now referring to FIG. 9, the tablet computing device 300 is illustrated,wherein only the first portion 106 is displayed on the display screen102 of the tablet computing device. As shown, an outer boundary of thefirst portion 106 intersects a bottom edge and a right-side edge of thedisplay screen 102, causing a relatively large amount of displayreal-estate to remain to depict application data, selectable icons, adesktop environment, etc. Accordingly, using the layout shown in FIG. 9,the user can generate text via a continuous sequence of strokes overkeys in the first portion 106 while viewing content displayed on aremainder of the display screen 102.

Moreover, due to the relatively small size of the first portion 106, amobile telephone, mobile media device, or phablet computing device canhave the first portion 106 displayed thereon, wherein such first portion106 has similar or identical size across computing device. Thus, forinstance, a user may develop muscle memory when generating text via acontinuous sequence of strokes over keys in the first portion 106 whenusing such first portion 106 on a mobile telephone. The user can thenutilize such muscle memory to generate text via a continuous sequence ofstrokes over keys in the first portion 106 when displayed on the tabletcomputing device 300. It is further to be understood that the firstportion 106 can be moved and docked at a location on the display screen102 as desired by the user.

With reference now to FIG. 10, an exemplary graphical user interface(GUI) 1000 that can be presented to a user on a touch-sensitive displayof a mobile computing device is illustrated. The graphical userinterface 1000 comprises a SIP 1002, wherein the SIP 1002 comprises aplurality of character keys 1004-1020. The GUI 1000 supports generationof text by way of continuous traces, and the exemplary GUI 1000 includesan exemplary continuous trace 1022.

The GUI 1000 further includes a suggestion region 1024, wherein anidentified character sequence is presented for selection by the user.For instance, the decoder component 116 can decode the continuous trace1022 and output the word “Serrasalmus” in real-time as a thumb of theuser generates the continuous trace 1022 over character keys in the SIP1002.

The GUI 1000 also comprises an output region 1026, wherein wordscorresponding to previously decoded traces are displayed. In the exampleshown in FIG. 10, three continuous traces have previously been decodedby the decoder component 116 prior to the user setting forth thecontinuous trace 1022, wherein such previous traces have been decoded asbeing the words “The,” “experienced,” and “piranhas.” Pursuant to anexample, words can be visually depicted in the output region 1026 basedupon a finality or certainty corresponding to such words. In an example,finalized words can be displayed in a first manner, and non-finalizedwords can be depicted in a second manner. Whether or not a word isfinalized can depend upon user input (or lack thereof) with respect tothe word, as well as the language model 120. For instance, if thelanguage model 120 is a tri-gram language model, then a word isfinalized if two continuous traces are set forth without receipt ofinput indicating that the decoder component 116 improperly decoded acontinuous trace for the word. In the example of FIG. 10, “The” isfinalized and is shown in black in the output region 1026, while“experienced” and “piranha” are not finalized and are shown in grey inthe output region 1026.

Now referring to FIG. 11, another exemplary GUI 1100 is illustrated. TheGUI includes the SIP 1002, the suggestion region 1024, and the outputregion 1026. The suggestion region 1024 and the output region can beupdated responsive to detecting that the user has lifted her thumb fromthe display screen. Specifically, the most probable word as identifiedby the decoder component 116 can be displayed in the output region 1026,and one or more next most probable words can be displayed in thesuggestion region 1024. As shown in the GUI 1100, the suggestion region1024 can be partitioned into three regions, wherein each regioncomprises a respective potential word corresponding to the continuoustrace 1022 (e.g., “areal,” “squall,” and “serrate.”). The user canselect a word in the suggestion region 1024, which can cause theselected word to replace the most probable word as output by the decodercomponent 116 shown in the output region 1026 (e.g., “Serrasalmus”).

It can further be noted that non-finalized words in the output region1026 can change responsive to a new word being shown in the outputregion 1026. In the GUI 1100, the word “The” remains finalized.Comparing the GUI 1000 with the GUI 1100, it can be ascertained that theword “experienced” (GUI 1000) has been changed to “razor-toothed” (GUI1100) when the word “Serrasalmus” has been added to the output region1026. The language model 120 can facilitate such updating, asprobabilities corresponding to non-finalized words can change when wordsare added or removed from a word sequence. Thus, if one of the suggestedwords shown in the suggestion region 1024 is selected by the user, theword “Serrasalmus” can be replaced with the selected word, and one ormore of the non-finalized words “razor-toothed” and “piranhas” may alsobe replaced with other words that are more likely to co-occur with theselected word. Further, if a word is selected by the user, the word canbe finalized (and displayed as being finalized in the output region1026), while non-finalized words can remain visually distinct fromfinalized words. In still yet another exemplary embodiment, selection ofa word in the suggestion region 1024 can cause the most probable wordoutput by the decoder component 116 to be removed from the output region1026 and displayed in the suggestion region 1024.

With reference now to FIG. 12, an exemplary SIP 1200 is illustrated. TheSIP 1200 comprises the character keys 1004-1020. The SIP 1200 alsocomprises keys 1202, 1204, and 1206. For example, the key 1202 can berepresentative of a mode change key, such that when the key 1202 isselected, case of characters in the character keys 1004-1020 is altered(e.g., from uppercase to lowercase or lowercase to uppercase). The key1204 can be representative of punctuation marks, such as a comma,period, a quotation mark, a question mark, etc. The key 1206 can berepresentative of a commonly used sequence of characters, such as“.com.”

In an exemplary embodiment, at least one of the keys 1202-1206 can beassociated with a marking menu. In the example shown in FIG. 12, whenthe user selects the key 1204 with her thumb, a marking menu isdisplayed, wherein the marking menu comprises keys 1208-1212. The usercan select the key 1204 by tapping the key 1204 (e.g., and holding herthumb on the key), by transitioning her thumb from another key in theSIP 1200 and pausing for some threshold amount of time on the key 1204,etc. In another example, eye gaze tracking can be employed, such thatthe user gazing at the key 1204 for a particular length of time causesthe marking menu to be displayed.

Responsive to the keys 1208-1210 being displayed, the user can select anappropriate key from the keys 1208-1210, thereby causing a selectedpunctuation mark to be included with text output by the decodercomponent 116. A selection can be made, for instance, by discretelytapping a key from the keys 1208-1210. In another example, the thumb canbe transitioned from the key 1204 to the desirably selected key withoutremoving the thumb from the touch-sensitive display. Thus, if the userwishes to select the key 1208, the user can set forth a stroke from thekey 1204 to the key 1208, which can cause a question mark to bedisplayed with text output by the decoder component 116. In anotherexample, user-selection of the key 1212 can cause quotation marks tosurround a word most recently output by the decoder component 116.

Now referring to FIG. 13, another exemplary SIP 1300 is depicted. TheSIP 1300 comprises the character keys 1004-1020 and the keys 1202-1206.In the exemplary SIP 1300, when the user selects the key 1204, a markingmenu can be presented, wherein the marking menu comprises the key 1208,and key 1212, and a key 1302. The key 1302 can be representative ofthree punctuation marks: a colon, a period, and a semicolon. To selectan appropriate punctuation mark in the key 1302, the user can slide herthumb over the desirably selected punctuation mark. Through musclememory, the user can recall that a colon can be selected by initiallyselecting the key 1204, then moving her thumb upward and to the left.

It is to be understood that other marking menus can also be employed.For instance, a marking menu can be employed to display emoticons. Inanother example, a marking menu can be employed to allow for a selectionof a particular language. In yet another example, a marking menu can beemployed to select a particular content (e.g., text message, emailmessage, social network message, . . . ). Additionally, the SIPs1000-1300 can have layout that includes arced/slanted keys, similar tothe layout shown in FIG. 9.

FIGS. 14-15 illustrate exemplary methodologies relating to use of asplit virtual keyboard on a touch-sensitive display of a tabletcomputing device. While the methodologies are shown and described asbeing a series of acts that are performed in a sequence, it is to beunderstood and appreciated that the methodologies are not limited by theorder of the sequence. For example, some acts can occur in a differentorder than what is described herein. In addition, an act can occurconcurrently with another act. Further, in some instances, not all actsmay be required to implement a methodology described herein.

Moreover, the acts described herein may be computer-executableinstructions that can be implemented by one or more processors and/orstored on a computer-readable medium or media. The computer-executableinstructions can include a routine, a sub-routine, programs, a thread ofexecution, and/or the like. Still further, results of acts of themethodologies can be stored in a computer-readable medium, displayed ona display device, and/or the like.

Now referring to FIG. 14, an exemplary methodology 1400 that facilitatesoutputting a word based upon a continuous trace over a portion of asplit virtual keyboard is illustrated. The methodology 1100 starts at1402, and at 1404 a split virtual keyboard is presented on atouch-sensitive display, wherein the split virtual keyboard is splitinto a first portion and a second portion. For example, the firstportion can include a first key and a second key, wherein the first keyis representative of a first plurality of characters and the second keyis representative of a second plurality of characters. The secondportion of the split virtual keyboard comprises at least one key (athird key).

At 1406, a stroke over the first key and the second key is detected,wherein the stroke is a continuous transition over the touch-sensitivedisplay between the first key and the second key. At 1408, responsive todetecting the stroke, a word can be output based upon such stroke overthe first key and the second key. As indicated above, position on thetouch-sensitive display of the first portion and the second portion candepend upon where the user is detected as gripping the mobile computingdevice as well as which hand is detected as being the dominant hand ofthe user. For example, the user can indicate that she is right-handed,which may cause the first portion of the split virtual keyboard to bedisplayed on a right-hand side of the touch-sensitive display.Alternatively, an indication can be received that the user isleft-handed, in which case the first portion of the split virtualkeyboard can be displayed on the left-hand side of the touch-sensitivedisplay.

Further, it is to be understood that gestures over the first portionand/or the second portion of the touch-sensitive display can be employedin connection with unlocking the mobile computing device. For instance,at a time that the mobile device is booted or after being idle for acertain amount of time, a lock screen can be presented, therebyrequiring receipt of input known only to the user to unlock the lockedscreen. The user can invoke the split virtual keyboard, for instance, bytransitioning one or both thumbs from a bottom edge of thetouch-sensitive display radially towards one or both of the side edgesof the touch-sensitive display. This can cause the split virtualkeyboard to be presented, with the first portion and second portionhaving a size corresponding to the radial extent of the invocationgesture and at a location corresponding to the invocation gesture. Theuser may then set forth a sequence of strokes over keys in the firstportion of the split virtual keyboard (and optionally a discrete tap orsequence of strokes over keys in the second portion of the split virtualkeyboard), which may be utilized to unlock the computing device. Thus,the password can effectively be a sequence of strokes set forth by theuser using the split virtual keyboard. The methodology 1400 completes at1410.

With reference now to FIG. 15, an exemplary methodology 1500 foroutputting a word to an application executing on a tablet computingdevice is illustrated. The methodology 1500 starts at 1502, and at 1504a split virtual keyboard is displayed on a touch-sensitive display of atablet computing device. As indicated above, the split virtual keyboardincludes a first portion and a second portion, wherein the first portionis displayed at a first location to facilitate receipt of input from athumb of a first hand of a user who is gripping the tablet computingdevice. The second portion is displayed at a second location tofacilitate receipt of input from a thumb of a second hand of the userwho is gripping the tablet computing device. The first portion caninclude a plurality of keys that are representative of a respectiveplurality of characters (each character key is representative of arespective plurality of characters). The second portion can include akey that represents an “Enter” key, a “Spacebar” key, a punctuation key,or the like.

At 1506, a sequence of strokes over the first plurality of keys from thethumb of the first hand of the user is detected. At 1508, responsive todetecting a sequence of strokes over keys in the first portion of thesplit virtual keyboard, a word is identified based upon the sequence ofstrokes. At 1510, a selection of a key in the second portion of thesplit virtual keyboard is detected. For instance, it can be ascertainedthat the “Enter” key in the second portion of the split virtual keyboardhas been selected by the thumb of the second hand of the user. At 1012,responsive to the selection of the key in the second portion of thesplit virtual keyboard being detected, the word that has been identifiedis output to an application executing on the tablet computing device.

Referring now to FIG. 16, a high-level illustration of an exemplarycomputing device 1600 that can be used in accordance with the systemsand methodologies disclosed herein is illustrated. For instance, thecomputing device 1600 may be used in a system that supports textgeneration by way of a continuous sequence of strokes over a portion ofa split virtual keyboard. By way of another example, the computingdevice 1600 can be used in a system that supports display of a splitvirtual keyboard on a tablet computing device. The computing device 1600includes at least one processor 1602 that executes instructions that arestored in a memory 1604. The instructions may be, for instance,instructions for implementing functionality described as being carriedout by one or more components discussed above or instructions forimplementing one or more of the methods described above. The processor1602 may access the memory 1604 by way of a system bus 1606. In additionto storing executable instructions, the memory 1604 may also storekeyboard layouts, imagery, etc.

The computing device 1600 additionally includes a data store 1608 thatis accessible by the processor 1602 by way of the system bus 1606. Thedata store 1608 may include executable instructions, keyboard layouts,etc. The computing device 1600 also includes an input interface 1610that allows external devices to communicate with the computing device1600. For instance, the input interface 1610 may be used to receiveinstructions from an external computer device, from a user, etc. Thecomputing device 1600 also includes an output interface 1612 thatinterfaces the computing device 1600 with one or more external devices.For example, the computing device 1600 may display text, images, etc. byway of the output interface 1612.

It is contemplated that the external devices that communicate with thecomputing device 1600 via the input interface 1610 and the outputinterface 1612 can be included in an environment that providessubstantially any type of user interface with which a user can interact.Examples of user interface types include graphical user interfaces,natural user interfaces, and so forth. For instance, a graphical userinterface may accept input from a user employing input device(s) such asa keyboard, mouse, remote control, or the like and provide output on anoutput device such as a display. Further, a natural user interface mayenable a user to interact with the computing device 1600 in a mannerfree from constraints imposed by input device such as keyboards, mice,remote controls, and the like. Rather, a natural user interface can relyon speech recognition, touch and stylus recognition, gesture recognitionboth on screen and adjacent to the screen, air gestures, head and eyetracking, voice and speech, vision, touch, gestures, machineintelligence, and so forth.

Additionally, while illustrated as a single system, it is to beunderstood that the computing device 1600 may be a distributed system.Thus, for instance, several devices may be in communication by way of anetwork connection and may collectively perform tasks described as beingperformed by the computing device 1600.

Various functions described herein can be implemented in hardware,software, or any combination thereof. If implemented in software, thefunctions can be stored on or transmitted over as one or moreinstructions or code on a computer-readable medium. Computer-readablemedia includes computer-readable storage media. A computer-readablestorage media can be any available storage media that can be accessed bya computer. By way of example, and not limitation, suchcomputer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM orother optical disk storage, magnetic disk storage or other magneticstorage devices, or any other medium that can be used to carry or storedesired program code in the form of instructions or data structures andthat can be accessed by a computer. Disk and disc, as used herein,include compact disc (CD), laser disc, optical disc, digital versatiledisc (DVD), floppy disk, and Blu-ray disc (BD), where disks usuallyreproduce data magnetically and discs usually reproduce data opticallywith lasers. Further, a propagated signal is not included within thescope of computer-readable storage media. Computer-readable media alsoincludes communication media including any medium that facilitatestransfer of a computer program from one place to another. A connection,for instance, can be a communication medium. For example, if thesoftware is transmitted from a website, server, or other remote sourceusing a coaxial cable, fiber optic cable, twisted pair, digitalsubscriber line (DSL), or wireless technologies such as infrared, radio,and microwave, then the coaxial cable, fiber optic cable, twisted pair,DSL, or wireless technologies such as infrared, radio and microwave areincluded in the definition of communication medium. Combinations of theabove should also be included within the scope of computer-readablemedia.

Alternatively, or in addition, the functionally described herein can beperformed, at least in part, by one or more hardware logic components.For example, and without limitation, illustrative types of hardwarelogic components that can be used include Field-programmable Gate Arrays(FPGAs), Program-specific Integrated Circuits (ASICs), Program-specificStandard Products (ASSPs), System-on-a-chip systems (SOCs), ComplexProgrammable Logic Devices (CPLDs), etc.

What has been described above includes examples of one or moreembodiments. It is, of course, not possible to describe everyconceivable modification and alteration of the above devices ormethodologies for purposes of describing the aforementioned aspects, butone of ordinary skill in the art can recognize that many furthermodifications and permutations of various aspects are possible.Accordingly, the described aspects are intended to embrace all suchalterations, modifications, and variations that fall within the spiritand scope of the appended claims. Furthermore, to the extent that theterm “includes” is used in either the details description or the claims,such term is intended to be inclusive in a manner similar to the term“comprising” as “comprising” is interpreted when employed as atransitional word in a claim.

What is claimed is:
 1. A method performed by a mobile computing device,the method comprising: presenting, on a touch-sensitive display of themobile computing device, a virtual keyboard, the virtual keyboardcomprises: a first portion that comprises a first plurality of keys,wherein the virtual keyboard is configured to provide input to anapplication executing on the mobile computing device responsive to auser swiping over keys in the first plurality of keys; and a secondportion that is simultaneously presented with the first portion but isseparated from the first portion by a non-keyboard region, wherein thesecond portion comprises a second plurality of keys, wherein the virtualkeyboard is configured to provide input to the application executing onthe mobile computing device only responsive to the user tapping on atleast one key in the second plurality of keys.
 2. The method of claim 1,wherein each key in the first plurality of keys represents a pluralityof alphabetical characters.
 3. The method of claim 1, wherein the firstportion is positioned on the touch-sensitive display to receive inputfrom a first thumb of the user, and wherein the second portion ispositioned on the touch-sensitive display to receive input from a secondthumb of the user.
 4. The method of claim 1, further comprising:detecting a swipe over a subset of keys in the first plurality of keys;and displaying a word based upon the detected swipe.
 5. The method ofclaim 4, further comprising: subsequent to displaying the word basedupon the detected swipe, detecting a tap of a key in the secondplurality of keys; and altering a format of the word responsive todetecting the tap of the key in the second plurality of keys.
 6. Themethod of claim 1, wherein both the first portion and the second portioncomprise a plurality of arced rows of keys.
 7. The method of claim 1,wherein the first plurality of keys represent alphanumerical characters,and wherein the second plurality of keys represent punctuation marks. 8.The method of claim 1, wherein the first portion additionally comprisesa key, wherein the virtual keyboard is configured to provide input tothe application executing on the mobile computing device only responsiveto the user tapping on the key in the first portion.
 9. The method ofclaim 1, wherein the first plurality of keys represent alphabeticalcharacters, and wherein the second plurality of keys represent numbers.10. The method of claim 1, wherein the second plurality of keysrepresent emoticons.
 11. The method of claim 1, wherein a first key inthe first plurality of keys represents two alphabetical characters, andwherein a second key in the first plurality of keys represents fouralphabetical characters.
 12. A mobile computing device comprising: atouch-sensitive display; a processor; and memory that has instructionsstored therein, wherein the processor, when executing the instructionsstored in the memory, is configured to present a virtual keyboard on thetouch-sensitive display, wherein the virtual keyboard comprises a firstportion that includes a first plurality of keys and a second portionthat includes a second plurality of keys, wherein the first portion andthe second portion are displayed simultaneously on the touch-sensitivedisplay, wherein the first portion is separated from the second portionby a non-keyboard region, wherein output is generated based upon eithera first or second type of user interaction with respect to keys in thefirst plurality of keys in the first portion, and further wherein thevirtual keyboard generates output based only upon the second type ofinteraction.
 13. The mobile computing device of claim 12, wherein thefirst type of interaction is a continuous stroke over several keys, andwherein the second type of interaction is a discrete tap on a key. 14.The mobile computing device of claim 12 being one of a mobile telephoneor a tablet computing device.
 15. The mobile computing device of claim12, wherein the first portion additionally comprises a third pluralityof keys, wherein output is generated based upon only the second type ofuser input with respect to keys in the third plurality of keys.
 16. Themobile computing device of claim 12, wherein each key in the firstplurality of keys represents a plurality of alphabetical characters. 17.The mobile computing device of claim 16, wherein a first key in thefirst plurality of keys represents two alphabetical characters, andwherein a second key in the first plurality of keys represents fouralphabetical characters.
 18. A computer-readable storage medium storinginstructions that, when executed by a processor, cause the processor toperform acts comprising: detecting an invocation gesture; responsive todetecting the invocation gesture, displaying a split virtual keyboard ona touch-sensitive display of a mobile computing device, wherein thevirtual keyboard comprises a first portion and a second portion that aresimultaneously displayed on the touch-sensitive display, wherein thefirst portion is separated from the second portion by a non-keyboardregion on the touch-sensitive display, the first portion comprises afirst plurality of keys that represent alphabetical characters, thesecond portion comprises a second plurality of keys, wherein the virtualkeyboard is configured to generate output responsive to a user swipingover several keys in the first plurality of keys, and further whereinthe virtual keyboard is configured to generate output only responsive tothe user tapping a key in the second plurality of keys.
 19. The mobilecomputing device of claim 12, wherein the first portion of the virtualkeyboard is adjacent a first side of the touch-sensitive display, andwherein the second portion of the virtual keyboard is adjacent a secondside of the touch-sensitive display that is opposite the first side ofthe touch-sensitive display.
 20. The mobile computing device of claim19, wherein the first portion and the second portion are adjacent athird side of the touch-sensitive display that is perpendicular to thefirst side of the touch-sensitive display and the second side of thetouch-sensitive display.